/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package redclient.Items;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Isaias
 */
public class Issue implements Serializable {

    private String id;

    private String parentIssueId;

    private String projectId;

    private Project project;

    private int trakerId;

    private int statusId;

    private int priorityId;

    private int authorId;
    
    private String author;

    private int assignedToId;

    private String assingedTo;

    private String subject;

    private String description;

    private Date startDate;

    private Date dueDate;

    private int doneRation;

    private float estimatedHours;

    private Date createdOn;

    private Date updatedOn;

    private boolean modified;
    
    private SyncStatus syncStatus;

    private List<CustomField> customFileds;

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the project
     */
    public Project getProject() {
        return project;
    }

    /**
     * @param project the project to set
     */
    public void setProject(Project project) {
        this.project = project;
    }

    /**
     * @return the trakerId
     */
    public int getTrakerId() {
        return trakerId;
    }

    /**
     * @param trakerId the trakerId to set
     */
    public void setTrakerId(int trakerId) {
        this.trakerId = trakerId;
    }

    /**
     * @return the statusId
     */
    public int getStatusId() {
        return statusId;
    }

    /**
     * @param statusId the statusId to set
     */
    public void setStatusId(int statusId) {
        this.statusId = statusId;
    }

    /**
     * @return the priorityId
     */
    public int getPriorityId() {
        return priorityId;
    }

    /**
     * @param priorityId the priorityId to set
     */
    public void setPriorityId(int priorityId) {
        this.priorityId = priorityId;
    }

    /**
     * @return the authorId
     */
    public int getAuthorId() {
        return authorId;
    }

    /**
     * @param authorId the authorId to set
     */
    public void setAuthorId(int authorId) {
        this.authorId = authorId;
    }

    /**
     * @return the subject
     */
    public String getSubject() {
        return subject;
    }

    /**
     * @param subject the subject to set
     */
    public void setSubject(String subject) {
        this.subject = subject;
    }

    /**
     * @return the description
     */
    public String getDescription() {
        return description;
    }

    /**
     * @param description the description to set
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * @return the startDate
     */
    public Date getStartDate() {
        return startDate;
    }

    /**
     * @param startDate the startDate to set
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /**
     * @return the dueDate
     */
    public Date getDueDate() {
        return dueDate;
    }

    /**
     * @param dueDate the dueDate to set
     */
    public void setDueDate(Date dueDate) {
        this.dueDate = dueDate;
    }

    /**
     * @return the doneRation
     */
    public int getDoneRation() {
        return doneRation;
    }

    /**
     * @param doneRation the doneRation to set
     */
    public void setDoneRation(int doneRation) {
        this.doneRation = doneRation;
    }

    /**
     * @return the estimatedHours
     */
    public float getEstimatedHours() {
        return estimatedHours;
    }

    /**
     * @param estimatedHours the estimatedHours to set
     */
    public void setEstimatedHours(float estimatedHours) {
        this.estimatedHours = estimatedHours;
    }

    /**
     * @return the createdOn
     */
    public Date getCreatedOn() {
        return createdOn;
    }

    /**
     * @param createdOn the createdOn to set
     */
    public void setCreatedOn(Date createdOn) {
        this.createdOn = createdOn;
    }

    /**
     * @return the updatedOn
     */
    public Date getUpdatedOn() {
        return updatedOn;
    }

    /**
     * @param updatedOn the updatedOn to set
     */
    public void setUpdatedOn(Date updatedOn) {
        this.updatedOn = updatedOn;
    }

    /**
     * @return the modified
     */
    public boolean isModified() {
        return modified;
    }

    /**
     * @param modified the modified to set
     */
    public void setModified(boolean modified) {
        this.modified = modified;
    }

    /**
     * @return the customFileds
     */
    public List<CustomField> getCustomFileds() {
        return customFileds;
    }

    /**
     * @param customFileds the customFileds to set
     */
    public void setCustomFileds(List<CustomField> customFileds) {
        this.customFileds = customFileds;
    }

    /**
     * @return the author
     */
    public String getAuthor() {
        return author;
    }

    /**
     * @param author the author to set
     */
    public void setAuthor(String author) {
        this.author = author;
    }

    /**
     * @return the assignedToId
     */
    public int getAssignedToId() {
        return assignedToId;
    }

    /**
     * @param assignedToId the assignedToId to set
     */
    public void setAssignedToId(int assignedToId) {
        this.assignedToId = assignedToId;
    }

    /**
     * @return the assingedTo
     */
    public String getAssingedTo() {
        return assingedTo;
    }

    /**
     * @param assingedTo the assingedTo to set
     */
    public void setAssingedTo(String assingedTo) {
        this.assingedTo = assingedTo;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Issue other = (Issue) obj;
        if ((this.id == null) ? (other.id != null) : !this.id.equals(other.id)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        return hash;
    }

    /**
     * @return the projectId
     */
    public String getProjectId() {
        return projectId;
    }

    /**
     * @param projectId the projectId to set
     */
    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    /**
     * @return the parentIssueId
     */
    public String getParentIssueId() {
        return parentIssueId;
    }

    /**
     * @param parentIssueId the parentIssueId to set
     */
    public void setParentIssueId(String parentIssueId) {
        this.parentIssueId = parentIssueId;
    }
}
